Many cloud services provide virtual machines on remote servers for use by subscribers to the cloud services. For example, Amazon Web Services (AWS) provides the Amazon Machine Image (AMI) service to subscribers. A virtual machine is generally an instance of an application executed on a server and accessible via a terminal of a subscriber. Accordingly, a virtual machine typically includes instance storage that is associated with the virtual machine and is unique to the virtual machine instance.
Many cloud services also provide distributed databases for use by subscribers. For example, Amazon Web Services (AWS) provides Cassandra database management for subscribers. A distributed database generally includes entries stored by one or more nodes in a network of nodes, the full database being provided by the network of nodes.
Accordingly, one or more databases may be distributed across a plurality of virtual machines provided by a cloud service. However, implementing a distributed database on virtual machines increases the difficulty in updating the virtual machines. For example, if the application providing the virtual machines is updated, the old instances must be terminated and new instances initiated in order to ensure that the virtual machines are provided by the updated application. However, this requires substantial time to re-create the distributed database, either through a manual backup and of each node of the database on an old instance and corresponding rebuild on a new instance or through a duplication of the distributed database across a plurality of new instances before terminating the old instances.